Buffer address registers that can store multiple addresses are well known in the prior art. They are typically used to temporarily store one or more addresses used to read computer program instructions or subroutines out of a memory, and they have two basic types of operation. There is the first-in, first-out buffer address register which stores one or more sequentially received addresses that are read out such that an address stored therein the longest is the first to be read out. The other basic type is the last-in, first-out buffer register which also stores one or more sequentially received addresses that are read out such that the most recently received and stored address is the first to read out. These registers are known in the art as pop-stack registers.
There are inherent problems in these prior art buffer address registers. One problem that contributes to limiting the speed of operation of the register is that an address loading operation must be completely performed before an address reading operation can be performed. Another inherent problem is due to these prior art buffer address registers only having a single address input which requires a multiplexing scheme to input addresses to the register from multiple sources.